package com.hyf.order.controller;


import com.hyf.commonutils.fruit;
import com.hyf.order.service.PayLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * <p>
 * 支付日志表 前端控制器
 * </p>
 *
 * @author hyf
 * @since 2022-05-08
 */
@RestController
@CrossOrigin
@RequestMapping("/order/paylog")
public class PayLogController {
	
	
	
	@Autowired
	private PayLogService payLogService;
	
	// 生成微信支付二维码
	// 参数是订单号
	@GetMapping("createNative/{orderNo}")
	public fruit createNative(@PathVariable String orderNo) {
		Map map=payLogService.createNative(orderNo);
		System.out.println("返回二维码集合："+map);
		// 返回相关信息，包含二维码的地址
		return fruit.ok().data(map);
		
	}
	
	
	// 查询订单支付状态
	// 参数：订单号，根据订单号查询支付状态
	@GetMapping("queryPayStatus/{orderNo}")
	public fruit queryPayStatus(@PathVariable String orderNo) {
		//调用查询接口
		Map<String, String> map = payLogService.queryPayStatus(orderNo);
		
		System.out.println("订单状态："+map);
		if (map == null) {//出错
			return fruit.error().message("支付出错");
		}
		//如果返回里面部位空，通过map.get("trade_state")来判断 获取订单状态
		if (map.get("trade_state").equals("SUCCESS")) {//如果成功
			//更改订单状态
			// 添加支付成功状态，
			payLogService.updateOrderStatus(map);
			return fruit.ok().message("支付成功");
		}
		return fruit.ok().code(25000).message("支付中");
		
	}
	
	

}

